Sending Messages via the Internet

If you want to send messages over the Internet, your server should have a TCP/IP link to the Internet. When a message should be sent to some remote host, the SMTP module connects to that host via TCP/IP, and transfers messages using the SMTP protocol.

If you do not plan to send Internet E-mail using SMTP (a LAN-only, or UUCP-only configuration), set the number of TCP/IP Channels to zero in the Sending Options field, and skip this section.

If you do plan to send messages over the Internet using the SMTP protocol, specify a non-zero value for the TCP/IP Channels setting in the Sending Options field. This setting limits the number of SMTP connections the module is allowed to open simultaneously.

When sending messages over the Internet, the SMTP module can forward them to a "foreign" mail server, or it can deliver messages directly to the recipients, using the DNS MX-records to find the recipient hosts on the Internet.

Use the Retry Every setting to tell the module when it should retry to send a message if a connection fails. If you use a foreign mail server, this option specifies when the module should retry to connect to that server if the previous connection failed for any reason. If you use the Directly to Recipients method, then when a connection to some remote host (domain) fails, all messages directed to that domain will be suspended for the specified time. Usually, SMTP systems suspend messages for 30 minutes.

Sending via a Foreign Mail Server

When the via Foreign Mail Server option is used, the SMTP module connects to the specified "foreign" mail host and sends all queued messages to that host. Since the foreign mail server host is usually "close"to your server, messages leave your server quickly. But this method can cause additional delays in message delivery, since messages are queued on the foreign server and those queues may be processed slowly. The Foreign Mail Server method is recommended when your server is connected to the Internet using a slow link, or when you use a dial-up link and you want messages to leave your server as soon as possible to keep the connection time short.

Select the via Foreign Mail Server option and specify the name or the IP address of a mail server. The SMTP module will forward all outgoing messages to that mail server for delivery.

Note: the name of the "foreign mail server" should be the name of the real computer (as specified in an A-type DNS record), not a mail domain name. While your provider domain name can be provider.com, the name of the provider mail server can be something like mail.provider.com. Consult with your provider to get the exact name of their mail server.

Note: when a recipient domain name is specified as an IP address, i.e. user@[12.34.56.78], the CommuniGate SMTP module delivers messages directly to the host with the IP address 12.34.56.78, even if the Foreign mail server option is in use. You may want to use this feature for message exchange between several mail servers on a LAN that does not have its own Domain Name Server.

Sending Messages Directly to Recipients

When the Directly to Recipients option is selected, the SMTP module uses the DNS (Domain Name System) to convert message recipient addresses into the names and the addresss of the receiving hosts. A receiving host can be the recipient host itself, or a relay host. The information about the proper relay host is stored in so-called MX records on Domain Name Servers. For each destination host several records can exist, each record having a priority value. If the SMTP module fails to connect to the relay host with the highest priority, other MX records are used and other relay hosts are tried. If no relay host is available, the message remains in the SMTP queue, and more attempts to deliver it (and all other messages to the same host) are made later.

Note: the Directly to Recipients option is available only if the server computer is running the OpenTransport software. This option is not available if the server computer is running the old MacTCP software.

This method allows the system to deliver a message either directly to the recipient computer or to a relay host that is "very close"to the recipient computer. Recipients can read your messages almost immediately, and your messaging system does not rely on any "foreign mail server"performance.

Use the Retry setting to limit the number of attempts to deliver a message. After the specified number of attempts has been made, the message is rejected and an error report saying that the host is not available is sent back to the message sender.

 

Restricting TCP/IP Activity

The SMTP module initiates TCP connections when it has messages in its queue. The module uses the CommuniGate Server kernel to initiate a TCP/IP connection. If a message is to be sent to an address marked as "high-priority", the SMTP module sends a high-priority request to the Server kernel. If there is no high-priority messages in the SMTP queue, the module sends a regular-priority request to the Server kernel.

When you use a dial-up link, you usually specify some restrictions with the CommuniGate Server TCP Schedule settings. As a result, when users submit regular-priority E-mail messages to the Server, the SMTP module does not initiate a TCP/IP link immediately. Instead, all messages directed to the Internet are collected in the SMTP module queue. When the next attempt to establish a TCP/IP link is allowed, and the link is established, the SMTP module sends all the messages collected in its queue. If a high-priority message is submitted and routed to the the Internet, the SMTP module asks the CommuniGate Server to ignore the TCP Schedule settings and inititate a TCP/IP link immediately. This method allows you to keep the connection time short, but still provides fast delivery for high-priority messages.